package cn.internship.modules.manage.dao;

import cn.internship.modules.manage.entity.ClassInfoEntity;
import cn.internship.modules.manage.entity.dto.ClassInfoSearch;
import cn.internship.modules.manage.entity.dto.ReportSearch;
import cn.internship.modules.manage.entity.vo.ClassInfoList;
import cn.internship.modules.manage.entity.vo.ReportList;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 
 * 
 * @author haha
 * @email haha@gmail.com
 * @date 2023-02-20 15:58:08
 */
@Mapper
public interface ClassInfoDao extends BaseMapper<ClassInfoEntity> {

//    @Select("select a.*,b.name as major_name from class_info a\n" +
//            "    left join major_info b on a.id = a.specialty_id ${ew.customSqlSegment}")
//    IPage<ClassInfoList> queryList(IPage<ClassInfoEntity> userPage, @Param(Constants.WRAPPER) Wrapper<ClassInfoEntity> userWrapper);

    Page<ClassInfoList> queryList(@Param("page") Page<ClassInfoList> page, @Param("search") ClassInfoSearch search);
}
